Skip to main content

Tarea de evento externo

El mecanismo "Tarea de evento externo" se puede utilizar para activar una tarea a través de un evento externo. Los "sockets de dominio Unix" se utilizan para la separación de procesos. El archivo de socket correspondiente se encuentra en el sistema de destino según el nombre elegido por el usuario para el evento externo:

/var/run/codesysextension/eventtasks/<EventName>.sock

Crear una tarea del tipo "Evento externo"

  1. Crear un evento externo.

    En el árbol de dispositivos, seleccione Configuración de tareas y en el menú contextual, haga clic en Administrar eventos externos (1). En el Administrar eventos externos cuadro de diálogo (2), agregue el nuevo evento. El nombre no debe contener espacios ni caracteres especiales.

    _rtslext_img_add_event.png
    _rtslext_img_add_event2.png
  2. Configure una tarea como una nueva tarea de evento externo:

    En el Configuración de tareas cuadro de lista, seleccione una tarea. En el Escribe cuadro de lista, seleccione el recientemente disponible Externo tipo de tarea (3). Asignar el deseado Evento externo (4) a la tarea.

    _rtslext_img_taskconfiguration1.png
    _rtslex_img_taskconfiguration2.png

El proyecto de ejemplo proporcionado ExternalEventTask.project contiene la configuración descrita anteriormente. La tarea se asigna al MI EVENTO1 evento externo y el archivo /var/run/codesysextension/eventtasks/MYEVENT1.sock se crea en el sistema.

Con la herramienta de línea de comandos "socat", puede operar esta interfaz muy fácilmente, por ejemplo, con el siguiente comando:

$ socat - UNIX-CLIENT:/var/run/codesysextension/eventtasks/MYEVENT1.sock

Esto establece una conexión de socket en la ventana del terminal y le permite enviar mensajes individuales al socket.

Con cada mensaje se activa la tarea configurada en el autómata. El contenido del mensaje no es relevante para desencadenar el evento externo. La longitud del mensaje se especifica como 1 byte.

Uso de la interfaz solo como miembro de Linux codesysuser grupo de usuario

Separación de procesos